package com.gotloop.services;

import java.util.List;

/**
 * Following Service.
 * @author jibhaine
 *
 */
public interface FollowingService {

	/**
	 * Returns true if follower follows followed.
	 * @param followerName follower
	 * @param followedName followed
	 * @return true if follower follows followed
	 */
	boolean isFollowing(String followerName, String followedName);
	
	/**
	 * Adds a following relationship between two Users.
	 * @param followerName follower
	 * @param followedName followed
	 * @return true if add succeeded
	 */
	boolean followUser(String followerName, String followedName);

	/**
	 * Blocks a following relationship between two Users.
	 * @param followerName follower
	 * @param followedName followed
	 * @return true if block succeeded
	 */
	boolean blockFollowingRelation(String followerName, String followedName);
	
	/**
	 * find Users followed by this User.
	 * @param followerName user name
	 * @return a List of User names.
	 */
	List<String> getListOfFollowing(String followerName);

	/**
	 * find Users following this User.
	 * @param followerName user name
	 * @return a List of User names.
	 */
	List<String> getListOfFollower(String followerName);
	
}
